Éste corresponde a uno de los modelos más conocidos creado por el SEI (Software Engineering Institute) de la Carnegie Mellon University. El CMM pretende conseguir mejorar la calidad del software mejorando la calidad de los procesos utilizados en su desarrollo. Por eso es importante mencionar que: "Las herramientas y las plataformas cambian de forma continua. Pero siempre podemos usar el mismo proceso si éste está bien definido y se sabe utilizar de forma adecuada."
2.7.3.1.- Niveles de Madurez
EL CMM puntúa los procesos de desarrollo del software en una escala de cinco niveles. En donde se tienen muy en cuenta aspectos muy variados de los procesos de desarrollo, como el grado de ambigüedad de las especificaciones, la verificación independiente de la fiabilidad de los programas etc.; estos cinco niveles de madurez están definidos por la presencia de áreas claves del proceso. También se definen listas de mejores prácticas para conseguir alcanzar cada una de estás áreas clave.
Los cinco niveles que describen avances en el proceso de ingeniería del Software:
1. El primer nivel (Caos) se produce cuando en la empresa no existe ningún modelo y que todo se hace sobre la marcha es decir no se emplea ningún proceso definido.
2. En el segundo nivel (Repetible) se encuentran las empresas en las que existe planificación y seguimiento de proyectos y está implementada la gestión de los mismos.
3. El tercer nivel (Definido) documenta y normaliza los procesos a nivel organizativo. Las claves de este nivel son la gestión de los requisitos, planificación de proyectos y su seguimiento a través de toda la organización
4. El cuarto nivel (Medible) pone énfasis en la calidad del proceso y del producto. Lo tienen las empresas capaces de medir el estado de un proyecto y utilizar esta información para que los jefes introduzcan los cambios y correcciones necesarias. Una vez adquirido este nivel en la gestión de los proyectos se pueden establecer objetivos.
5. El quinto nivel (Mejora continua) se conoce como proceso continuo de mejora. Las áreas clave del proceso incluyen prevención de defectos, administración de cambios tecnológicos y gestión de cambios en los procesos.
2.7.3.2.- Métodos de Evaluación
Para conseguir la certificación CMM, es necesario contactar con algún evaluador acreditado por el SEI. Éstos utilizan distintos métodos para determinar en las organizaciones el nivel de madurez en el que se encuentra el proceso utilizado en el desarrollo de software.
Entre estos métodos destaca el SCE y el CBA-IPI. El primero consiste fundamentalmente en una auditoría mientras que el segundo utiliza entrevistas y otros procedimientos encaminados a ayudar a la mejora de los procesos seguidos en la organización.